package com.ck.ips.model.vo.device;

import java.io.Serializable;

/**
* @Description: 设备基础信息VO
* @Author: hf
* @Date:    2019/5/7 17:36
* @Version: 1.0
*/
public class DeviceBasicInfoVO implements Serializable {

	/** 分组名称 */
    private String groupName;
	/** 设备唯一编号 */
    private String deviceCode;
	/** 设备首次注册时间 */
    private String addTime;
	/** 设备空刊状态(默认都是空刊) */
	private Boolean programDue = Boolean.TRUE;
	/** 设备最近一次联网时间 */
    private String lastReportTime;
	/** 设备最近一次访问ip地址 */
    private String lastReportIp;
	/** 设备状态(在线状态) */
    private String deviceStatus;
	/** 设备类型（横屏/竖屏） */
	private String deviceType;
	/** 设备尺寸 */
	private String screenSize;
	/** 设备分辨率 */
	private String resolvingPower;
	/** mac地址 */
	private String deviceMac;
	/** 设备机型 */
	private String model;
	/** 设备名称 */
	private String deviceName;
	/** 设备安装位置 */
	private String deviceLocation;
	/** apk版本 */
    private String softwareVersion;
	/** 固件版本 */
    private String firmwareVersion;
	/** 设备序列号 */
	private String deviceSerialNum;
	/** 门店名称 */
	private String storeName;
	/** 联网方式 */
	private String networkingWay;
	/** 增播节目数量 */
	private Integer addProgramsCount;
	/** 减播节目数量 */
	private Integer reduceProgramsCount;

	/**终端任务*/
	private String devicePlanDesc;
    /** 设备空刊状态(默认都是空刊) */
    private String programDueDesc;
    /** 设备类型，尺寸 */
    private String typeAndSize;

	public String getNetworkingWay() {
		return networkingWay;
	}

	public void setNetworkingWay(String networkingWay) {
		this.networkingWay = networkingWay;
	}

	public String getGroupName() {
		return groupName;
	}

	public void setGroupName(String groupName) {
		this.groupName = groupName;
	}

	public String getDeviceCode() {
		return deviceCode;
	}

	public void setDeviceCode(String deviceCode) {
		this.deviceCode = deviceCode;
	}

	public String getAddTime() {
		return addTime;
	}

	public void setAddTime(String addTime) {
		this.addTime = addTime;
	}

	public String getLastReportTime() {
		return lastReportTime;
	}

	public void setLastReportTime(String lastReportTime) {
		this.lastReportTime = lastReportTime;
	}

	public String getLastReportIp() {
		return lastReportIp;
	}

	public void setLastReportIp(String lastReportIp) {
		this.lastReportIp = lastReportIp;
	}

	public String getDeviceStatus() {
		return deviceStatus;
	}

	public void setDeviceStatus(String deviceStatus) {
		this.deviceStatus = deviceStatus;
	}

	public String getDeviceType() {
		return deviceType;
	}

	public void setDeviceType(String deviceType) {
		this.deviceType = deviceType;
	}

	public String getScreenSize() {
		return screenSize;
	}

	public void setScreenSize(String screenSize) {
		this.screenSize = screenSize;
	}

	public String getResolvingPower() {
		return resolvingPower;
	}

	public void setResolvingPower(String resolvingPower) {
		this.resolvingPower = resolvingPower;
	}

	public String getDeviceMac() {
		return deviceMac;
	}

	public void setDeviceMac(String deviceMac) {
		this.deviceMac = deviceMac;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getDeviceName() {
		return deviceName;
	}

	public void setDeviceName(String deviceName) {
		this.deviceName = deviceName;
	}

	public String getDeviceLocation() {
		return deviceLocation;
	}

	public void setDeviceLocation(String deviceLocation) {
		this.deviceLocation = deviceLocation;
	}

	public String getSoftwareVersion() {
		return softwareVersion;
	}

	public void setSoftwareVersion(String softwareVersion) {
		this.softwareVersion = softwareVersion;
	}

	public String getFirmwareVersion() {
		return firmwareVersion;
	}

	public void setFirmwareVersion(String firmwareVersion) {
		this.firmwareVersion = firmwareVersion;
	}

	public String getDeviceSerialNum() {
		return deviceSerialNum;
	}

	public void setDeviceSerialNum(String deviceSerialNum) {
		this.deviceSerialNum = deviceSerialNum;
	}

	public String getStoreName() {
		return storeName;
	}

	public void setStoreName(String storeName) {
		this.storeName = storeName;
	}

	public Integer getAddProgramsCount() {
		return addProgramsCount;
	}

	public void setAddProgramsCount(Integer addProgramsCount) {
		this.addProgramsCount = addProgramsCount;
	}

	public Integer getReduceProgramsCount() {
		return reduceProgramsCount;
	}

	public void setReduceProgramsCount(Integer reduceProgramsCount) {
		this.reduceProgramsCount = reduceProgramsCount;
	}

	public Boolean getProgramDue() {
		return programDue;
	}

	public void setProgramDue(Boolean programDue) {
		this.programDue = programDue;
	}

	public String getDevicePlanDesc() {
		return "(+"+getAddProgramsCount()+",-"+getReduceProgramsCount()+")";
	}

    public String getProgramDueDesc() {
        return getProgramDue() ? "空刊" : "有刊";
    }

    public String getTypeAndSize() {
        String type = getDeviceType()==null?"":getDeviceType();
        String screen = getScreenSize()==null?"":getScreenSize();
        return type+"/"+screen;
    }

    @Override
	public String toString() {
		return "DeviceBasicInfoVO{" +
				"groupName='" + groupName + '\'' +
				", deviceCode='" + deviceCode + '\'' +
				", addTime='" + addTime + '\'' +
				", lastReportTime='" + lastReportTime + '\'' +
				", lastReportIp='" + lastReportIp + '\'' +
				", deviceStatus='" + deviceStatus + '\'' +
				", deviceType='" + deviceType + '\'' +
				", screenSize='" + screenSize + '\'' +
				", resolvingPower='" + resolvingPower + '\'' +
				", deviceMac='" + deviceMac + '\'' +
				", model='" + model + '\'' +
				", deviceName='" + deviceName + '\'' +
				", deviceLocation='" + deviceLocation + '\'' +
				", softwareVersion='" + softwareVersion + '\'' +
				", firmwareVersion='" + firmwareVersion + '\'' +
				", deviceSerialNum='" + deviceSerialNum + '\'' +
				", storeName='" + storeName + '\'' +
				", addProgramsCount=" + addProgramsCount +
				", reduceProgramsCount=" + reduceProgramsCount +
				'}';
	}
}